REM *** Tonträgerverwaltung von *** REM ******** HP Biehl 1992 ******** REM *** Version 1.2 (21.08.93) **** anfang: DIM cahin(151),cahil(151),sdn(151),scadur(151),sip(151) DIM ino(151),il(151),sidn(151),sicadur(151),sil(151) PALETTE 0,0.1,0.1,0.1 PALETTE 1,0.55,0.35,0.98 PALETTE 2,0.8,0.1,0.1 OPEN"R",#1,"cass",9 FIELD #1,3 AS i$,4 AS l$,2 AS n$ OPEN"R",#2,"interp",18 FIELD #2,18 AS inte$ OPEN"R",#3,"cassetli",28 FIELD #3,28 AS ca$ OPEN"I",#4,"CassAnz" INPUT #4,CasMax:INPUT #4,IntMax CLOSE 4 Menue: COLOR 1,0:CLS:PRINT PRINT " 1 = Interpretenliste erweitern/ändern/anzeigen" PRINT " 2 = Cassettenliste erweitern/ändern/anzeigen" COLOR 2,0 PRINT " 3 = Interpret + Benotung je Song" COLOR 1,0 PRINT " 4 = Maximale Interpreten- bzw. Cassettenzahl vergrößern" COLOR 3,0 PRINT " 5 = Cassetten-Hitliste" PRINT " 6 = Interpreten-Hitliste" COLOR 1,0 PRINT " 7 = Interpretenliste nach Anfangsbuchstaben" COLOR 3,0 PRINT " 8 = Interpreten suchen" COLOR 1,0 PRINT " 9 = Ende" COLOR 2,0 Menuauswahl: LOCATE 12,1:INPUT " Auswahl (? = Infos): ",ausw$ IF ausw$="?" THEN Hauptinfos ausw=VAL(ausw$) IF ausw<1 OR ausw>9 THEN Menue cano=0 ON ausw GOSUB interli,casseli,ausdatei,datein,casshi,ihi,inalpha,ISu,ende GOTO Menue Hauptinfos: WINDOW 2," HILFEMENÜ",,2 COLOR 3,0 PRINT " Es werden immer nur Cassetten erwähnt. Mit LPs oder CDs läuft die ganze" PRINT " Geschichte natürlich auch. Um alle Funktionen kennenzulernen ist es anfangs" PRINT " ratsam, immer wenn eine Eingabe verlangt wird, ? einzugeben!" PRINT:COLOR 2,0 PRINT " 1 = Interpretenliste erweitern/ändern/anzeigen" COLOR 1,0:PRINT " Zur stapelweisen Erfassung bzw. Änderung auf den Tonträgern vorkommender" PRINT " Interpreten inkl. Anzeige. Einzelerfassung auch direkt im Menüpunkt 3 möglich!" COLOR 2,0 PRINT " 2 = Cassettenliste erweitern/ändern/anzeigen" COLOR 1,0:PRINT " Zur stapelweisen Erfassung bzw. Änderung von Tonträgern inkl. Anzeige." PRINT " Einzelerfassung auch direkt im Menüpunkt 3 möglich!" COLOR 2,0 PRINT " 3 = Interpret + Benotung je Song" COLOR 1,0:PRINT " Zu den einzelnen Songs eines bestimmten Tonträgers den Interpreten, die Note" PRINT " und die Länge in Sekunden eingeben. Je Tonträger maximal 35 Songs! Noten" PRINT " können von 1-99 vergeben werden, wobei kleinere Zahlen bessere Noten bedeuten." PRINT " (10 ist z. B. besser als 20) COLOR 2,0 PRINT " 4 = Maximale Interpreten- bzw. Cassettenzahl vergrößern" COLOR 1,0:PRINT " Diese sind aus Rechenzeitersparnis begrenzt und können hier bei Bedarf" PRINT " jederzeit erhöht werden." COLOR 2,0 PRINT " 5 = Cassetten-Hitliste" COLOR 1,0:PRINT " Die Rangfolge aller Tonträger nach Deiner unter Menüpunkt 3 gegebenen" PRINT " Benotung wird hier ermittelt und aufgelistet." COLOR 3,0:PRINT " Weiter mit beliebiger Taste" WHILE INKEY$="":WEND PRINT :COLOR 2,0 PRINT " 6 = Interpreten-Hitliste" COLOR 1,0:PRINT " Die Rangfolge aller Interpreten nach Deiner unter Menüpunkt 3 gegebenen" PRINT " Benotung wird hier ermittelt und aufgelistet (benötigt etwas Rechenzeit)." COLOR 2,0 PRINT " 7 = Interpretenliste nach Anfangsbuchstaben" COLOR 1,0:PRINT " Nach wahlweisen Anfangsbuchstaben sortierte Ausgabe der Interpreten. Dazu ist" PRINT " es wichtig, daß im Menüpunkt 1 bzw. 3 die Namen der Interpreten mit einem" PRINT " Großbuchstaben beginnend erfaßt wurden und ggfls. mit dem Nachnamen zuerst." COLOR 2,0 PRINT " 8 = Interpreten suchen" COLOR 1,0:PRINT " Auflistung aller Tonträger, auf dem sich ein Interpret nach Wahl befindet." COLOR 2,0 PRINT " 9 = Ende" COLOR 1,0:PRINT " Verlassen des Programms" COLOR 2,0:PRINT PRINT " Viel Vergnügen wünscht Hans-Peter Biehl" PRINT " Dorfstr. 175" PRINT " 6612 Schmelz-Limbach" PRINT :COLOR 3,0:PRINT " Weiter mit beliebiger Taste" WHILE INKEY$="":WEND WINDOW CLOSE 2:GOTO Menue anza: PRINT COLOR 1,0:INPUT " Von Cassetten-Nr.",x$ IF x$="?" THEN COLOR 2,0 PRINT " Gib die kleinste für die Ermittlung zu berücksichtigende Cass.-Nr. ein!" COLOR 1,0 END IF x=VAL(x$) IF x<1 THEN anza IF x>CasMax THEN GOSUB Caszugross GOTO anza END IF bisanza: COLOR 1,0:INPUT " bis Cassetten-Nr.",xx$ IF xx$="?" THEN COLOR 2,0 PRINT " Gib die größte für die Ermittlung zu berücksichtigende Cass.-Nr. ein!" COLOR 1,0:GOTO bisanza END IF xx=VAL(xx$) IF xxCasMax THEN GOSUB Caszugross GOTO bisanza END IF PRINT :RETURN Caszugross: COLOR 2,0 PRINT " Darf ich Dich erinnern, daß die maximale Cassettenanzahl";CasMax;"beträgt?" RETURN datein: CLS:PRINT:COLOR 2,0 PRINT " Maximale Anzahl Cassetten: ";CasMax PRINT " Maximale Anzahl Interpreten: ";IntMax PRINT : COLOR 1,0 PRINT " 1 = Erläuterungen (bitte zuerst anwählen)" PRINT " 2 = Maximale Cassettenanzahl vergrößern" PRINT " 3 = Maximale Interpretenanzahl vergrößern" PRINT " 4 = Hauptmenü" PRINT : COLOR 3,0 Auswahl: INPUT " Auswahl ",ausw$ IF ausw$="?" THEN PRINT " Für Infos 1 eingeben!":GOTO Auswahl ausw=VAL(ausw$) IF ausw<1 OR ausw>4 THEN datein ON ausw GOSUB infos,ceinri,ieinri IF ausw=4 THEN RETURN GOTO datein ausdatei: CLS:COLOR 2,0:INPUT " Cassetten-Nr. ",cas$ cano=0 IF cas$="?" THEN WINDOW 2," Eingabemöglichkeiten",,2 PRINT :PRINT " ....... (Nr. der zu benotenden Cassette)" PRINT " bzw. (Cassettenliste erweitern/ändern/anzeigen)" PRINT " (zurück ins Hauptmenü)" PRINT " (diese Anzeige)" COLOR 2,0 LOCATE 2,2:PRINT "1":LOCATE 2,6:PRINT CasMax LOCATE 3,2:PRINT "C":LOCATE 3,9:PRINT "c" LOCATE 4,2:PRINT "" LOCATE 5,5:PRINT "?" COLOR 3,0 PRINT :PRINT " Das Drücken einer beliebigen Taste führt Dich nun wieder in die" PRINT " Eingabemaske." COLOR 1,0:LOCATE 2,6:PRINT "." WHILE INKEY$="":WEND WINDOW CLOSE 2 GOTO ausdatei END IF IF cas$="c" OR cas$="C" THEN cano=1:GOTO casseli cas%=VAL(cas$) IF cas%=0 OR cas%>CasMax THEN RETURN GET #3,cas%:LOCATE 1,19:PRINT ": ";ca$ PRINT " ------------------":COLOR 3,0 PRINT " Song Interpret sec. Note Song Interpret sec. Note" COLOR 1,0 FOR code=cas%*35-34 TO cas%*35 GET #1,code IF CVI(i$)>0 THEN lo2=1:lo1=code-cas%*35+38 IF code-cas%*35+19>0 THEN lo1=code-cas%*35+22:lo2=37 GET #2,CVI(i$) LOCATE lo1,lo2:PRINT USING " ##) \ \ #### ##";code-cas%*35+35;inte$;CVI(l$);CVI(n$) END IF NEXT code SongNot: LOCATE 20,1:COLOR 3,0:INPUT " Song-Nr.: ",tit$ IF tit$="?" THEN LOCATE 20,1 INPUT " Gib die Song-Nr. (1-35) ein oder RETURN für zurück: ",tit$ END IF tit%=VAL(tit$) IF tit%>35 THEN LOCATE 20,12:PRINT " " GOTO SongNot END IF IF tit%=0 THEN RETURN IntNot: LOCATE 21,1 INPUT " Interpreter-Nr.: ",in$ IF in$="?" THEN WINDOW 2," Eingabemöglichkeiten",,2 PRINT :PRINT " ....... (Nr. des Interpreten)" PRINT " bzw. (Interpretenliste erweitern/ändern/anzeigen)" PRINT " (zurück ins Hauptmenü)" PRINT " (diese Anzeige)" COLOR 2,0 LOCATE 2,2:PRINT "1":LOCATE 2,6:PRINT IntMax LOCATE 3,2:PRINT "I":LOCATE 3,9:PRINT "i" LOCATE 4,2:PRINT "" LOCATE 5,5:PRINT "?" COLOR 3,0 PRINT :PRINT " Das Drücken einer beliebigen Taste führt Dich nun wieder in die" PRINT " Eingabemaske." COLOR 1,0:LOCATE 2,6:PRINT "." WHILE INKEY$="":WEND WINDOW CLOSE 2 GOTO IntNot END IF IF in$="I" OR in$="i" THEN cano=2:GOTO interli END IF in%=VAL(in$) IF in%>IntMax THEN IntNot LSET i$=MKI$(in%) SecNot: seku=0 LOCATE 22,1:INPUT " Sekunden (t=Stoppuhr): ",la$ IF la$="?" THEN WINDOW 2," Sekundeneingabe",,2 CLS:PRINT PRINT " Gib die Anzahl der Sekunden dieses Songs ein oder" PRINT " gib t ein, um die Stoppuhrfunktion aufzurufen. Die Stoppuhr" PRINT " wird jeweils mit der Leertaste gestartet und gestoppt." PRINT " Die Sekunden laufen auf dem Bildschirm mit." PRINT " Doch zunächst drücke eine beliebige Taste, um zur Eingabemaske" PRINT " zurückzukehren!" WHILE INKEY$="":WEND WINDOW CLOSE 2 GOTO SecNot END IF IF la$="t" OR la$="T" THEN la$="1" LOCATE 22,2:PRINT "LEERTASTE startet die Stoppuhr!" WHILE INKEY$<>" ":WEND seku1=TIMER LOCATE 22,2:PRINT "Sekunden: (Stopp durch LEERTASTE)" WHILE INKEY$<>" " seku=TIMER-seku1 LOCATE 22,11:PRINT USING "####";seku WEND LOCATE 22,17:PRINT " " END IF IF VAL(la$)>0 THEN la%=VAL(la$) :ELSE SecNot IF seku>0 THEN la%=seku LSET l$=MKI$(la%) NotNot: LOCATE 23,1:INPUT " Note: ",no$ IF no$="?" THEN LOCATE 23,1:INPUT " Gib eine Note (1-99) ein. Je kleiner, desto besser:",no$ END IF no%=VAL(no$) IF no%<1 OR no%>99 THEN NotNot LSET n$=MKI$(no%) indatei: code=cas%*35-35+tit% PUT #1,code GOTO ausdatei infos: COLOR 2,0:PRINT PRINT " Es ist ratsam, die maximale Anzahl Cassetten und Interpreten" PRINT " immer nur stufenweise etwas zu erhöhen, um zu verhindern, daß" PRINT " die einzelnen Programmpunkte unnötig lange Rechenzeiten in" PRINT " Anspruch nehmen. Beachte, daß verkleinern nicht mehr geht," PRINT " immer nur vergrößern!" COLOR 3,0:PRINT PRINT " Weiter mit beliebiger Taste!" WHILE INKEY$="":WEND RETURN ieinri: PRINT INPUT " Wie hoch soll die max. Interpretenanzahl sein";IntMax1$ IF IntMax1$="?" THEN PRINT " Gib eine Zahl größer als";IntMax;" ein." GOTO ieinri END IF IntMax1=VAL(IntMax1$) IF IntMax1<=IntMax THEN PRINT " Das geht nicht!" FOR w=1 TO 3000:NEXT w RETURN END IF INPUT " Ganz wirklich (ja=j)";w$ IF w$<>"j" THEN PRINT " Also nicht!" FOR w=1 TO 3000:NEXT w RETURN END IF IntMaxAlt=IntMax:IntMax=IntMax1 OPEN"O",#4,"CassAnz" PRINT #4,CasMax:PRINT #4,IntMax CLOSE 4 LSET inte$="" FOR i=IntMaxAlt+1 TO IntMax PUT #2,i NEXT:RETURN ceinri: PRINT INPUT " Wie hoch soll die max. Cassettenanzahl sein";CasMax1$ IF CasMax1$="?" THEN PRINT " Gib eine Zahl größer als";CasMax;" ein." GOTO ceinri END IF CasMax1=VAL(CasMax1$) IF CasMax1<=CasMax THEN PRINT " Das geht nicht!" FOR w=1 TO 3000:NEXT w RETURN END IF INPUT " Ganz wirklich (ja=j)";w$ IF w$<>"j" THEN PRINT " Also nicht!" FOR w=1 TO 3000:NEXT w RETURN END IF CasMaxAlt=CasMax:CasMax=CasMax1 OPEN"O",#4,"CassAnz" PRINT #4,CasMax:PRINT #4,IntMax CLOSE 4 LSET ca$="" FOR i=CasMaxAlt+1 TO CasMax PUT #3,i NEXT i LSET i$=CHR$(255) FOR i=35*CasMaxAlt+1 TO 35*CasMax PUT #1,i NEXT RETURN interli: WINDOW 2," Nr. Interpret Nr. Interpret",,2 interlis: canza=0:acanz=0:COLOR 2,0 FOR i=1 TO IntMax GET #2,i IF inte$<>" " THEN canza=canza+1:iloc1=canza:iloc2=1 IF canza>40 THEN iloc1=canza-40 IF canza>80 THEN iloc1=canza-80 IF canza>120 THEN iloc1=canza-120 IF canza>20 AND canza<41 THEN iloc1=canza-20:iloc2=31 IF canza>60 AND canza<81 THEN iloc1=canza-60:iloc2=31 IF canza>100 AND canza<121 THEN iloc1=canza-100:iloc2=31 LOCATE iloc1,iloc2 PRINT USING " ### \ \";i;inte$ END IF IF canza=40 OR canza=80 OR canza=120 THEN acanz=canza PRINT : COLOR 1,0 INPUT " Weiter -> RETURN",w$ CLS:COLOR 2,0 END IF NEXT i PRINT :COLOR 3,0 IntEin: LOCATE 21,1:PRINT " " LOCATE 22,1:PRINT " " LOCATE 21,1:INPUT " Interpreten-Nr.:",in$ IF in$="?" THEN COLOR 1,0:LOCATE 21,1 PRINT " Gib die Nr. des neuen bzw. des zu ändernden Interpreten ein" PRINT " oder einfach nur RETURN, um die Anzeige zu beenden!" FOR wart=1 TO 7000:NEXT wart COLOR 3,0 GOTO IntEin END IF in=VAL(in$) IF in=0 THEN WINDOW CLOSE 2 IF cano=2 THEN IntNot IF cano=3 THEN ISu RETURN END IF IF in>IntMax THEN COLOR 1,0:PRINT " Darf ich Dich daran erinnern, daß die maximale Interpreten-Nr.";IntMax;"beträgt?" COLOR 3,0 GOTO IntEin END IF LOCATE 22,1:LINE INPUT " Interpret: ",ip$ LSET inte$=ip$ PUT #2,in IF cano=2 THEN WINDOW CLOSE 2:GOTO IntNot END IF IF cano=3 THEN WINDOW CLOSE 2:GOTO ISu GOTO interlis inalpha: WINDOW 2,"Interpretenliste nach Anfangsbuchstaben",,2 inalf: CLS:COLOR 1,0:PRINT PRINT " Von Buchstabe "; bu1: alf1$=INKEY$:IF alf1$="" THEN bu1 COLOR 3,0:PRINT alf1$ IF alf1$="?" THEN PRINT " Groß- oder Kleinbuchstabe, ist egal." PRINT " Weiter mit beliebiger Taste!" WHILE INKEY$="":WEND GOTO inalf END IF COLOR 1,0:PRINT " bis Buchstabe "; bu2: alf2$=INKEY$:IF alf2$="" THEN bu2 COLOR 3,0:PRINT alf2$ PRINT:alf1$=UCASE$(alf1$):alf2$=UCASE$(alf2$) alf1=ASC(alf1$):alf2=ASC(alf2$) IF alf1<65 OR alf1>90 OR alf2<65 OR alf2>90 THEN GOTO inalf END IF IF alf1>alf2 THEN alf=alf2:alf2=alf1:alf1=alf COLOR 2,0 FOR alf=alf1 TO alf2 FOR i=1 TO IntMax GET #2,i IF CHR$(alf)=LEFT$(inte$,1) THEN PRINT USING "### \ \";i;inte$ END IF NEXT i NEXT alf COLOR 1,0 PRINT :PRINT " Weiter mit beliebiger Taste" WHILE INKEY$="":WEND WINDOW CLOSE 2:RETURN ISu: CLS:cano=0:INPUT " Interpreten-Nr.: ",in$ IF in$="I" OR in$="i" THEN cano=3:GOTO interli IF in$="?" THEN WINDOW 2," Eingabemöglichkeiten",,2 PRINT :PRINT " ....... (Nr. des zu suchenden Interpreten)" PRINT " bzw. (Interpretenliste erweitern/ändern/anzeigen)" PRINT " (zurück ins Hauptmenü)" PRINT " (diese Anzeige)" COLOR 2,0 LOCATE 2,2:PRINT "1":LOCATE 2,6:PRINT IntMax LOCATE 3,2:PRINT "I":LOCATE 3,9:PRINT "i" LOCATE 4,2:PRINT "" LOCATE 5,5:PRINT "?" COLOR 3,0 PRINT :PRINT " Das Drücken einer beliebigen Taste führt Dich nun wieder in die" PRINT " Eingabemaske." COLOR 1,0:LOCATE 2,6:PRINT "." WHILE INKEY$="":WEND WINDOW CLOSE 2 GOTO ISu END IF in=VAL(in$) IF in=0 OR in>IntMax THEN RETURN GET #2,in COLOR 3,0:PRINT LOCATE 1,23:PRINT inte$ COLOR 1,0:LOCATE 2,23 PRINT "befindet sich auf:" PRINT :COLOR 2,0 cadur=0 cadurch: cadur=cadur+1 cassdu=0 casdur: cassdu=cassdu+1 cdg=(cadur-1)*35+cassdu GET #1,cdg hil=CVI(i$) IF hil=in THEN GET #3,cadur PRINT USING "### \ \";cadur;ca$ END IF IF hil=in THEN cadurch IF cassdu<35 AND cadur<=CasMax THEN casdur IF cadur RETURN",w$ RETURN casseli: WINDOW 2," Nr. Cassettentitel",,2 casselis: canza=0:acanz=0:COLOR 2,0 FOR i=1 TO CasMax GET #3,i IF ca$<>" " THEN canza=canza+1 PRINT USING " ### \ \";i;ca$ END IF IF acanz<>canza AND (canza=20 OR canza=40 OR canza=60 OR canza=80 OR canza=100 OR canza=120 OR canza=140) THEN acanz=canza PRINT : COLOR 1,0 INPUT " Weiter -> RETURN",w$ CLS:COLOR 2,0 END IF NEXT i PRINT :COLOR 3,0 CasEin: INPUT " Cassetten-Nr.: ",inc$ IF inc$="?" THEN COLOR 1,0 PRINT " Nur RETURN = Anzeige beenden" PRINT " Vorhandene Cass.-Nr. = Name ändern" PRINT " Noch nicht vorhandene Cass.-Nr. = neu anlegen" COLOR 3,0 GOTO CasEin END IF inc=VAL(inc$) IF inc=0 THEN WINDOW CLOSE 2 IF cano=1 THEN ausdatei RETURN END IF IF inc>CasMax THEN COLOR 1,0:PRINT " Zu große Nr. !!!" COLOR 3,0:GOTO CasEin END IF CasTitEin: LINE INPUT " Titel: ",casse$ IF casse$="?" THEN PRINT " Maximal 28 Zeichen werden berücksichtigt!" GOTO CasTitEin END IF LSET ca$=casse$ PUT #3,inc IF cano=1 THEN WINDOW CLOSE 2: GOTO ausdatei END IF GOTO casselis casshi: GOSUB anza COLOR 2,0:canza=0 FOR cadur=x TO xx cahil(cadur)=0:cahin(cadur)=0:sdn(cadur)=0 FOR cadu=1 TO 35 cad=(cadur-1)*35+cadu GET #1,cad cil=CVI(i$) IF cil>0 THEN cahil(cadur)=cahil(cadur)+CVI(l$) cahin(cadur)=cahin(cadur)+CVI(l$)*CVI(n$) END IF NEXT cadu IF cahil(cadur)>0 THEN GET #3,cadur canza=canza+1 sdn(canza)=cahin(cadur)/cahil(cadur) scadur(canza)=cadur END IF IF canza>1 THEN FOR sorti=canza TO 1 STEP -1 srti=sorti-1 IF sdn(sorti) RETURN",w$ CLS END IF NEXT sorti COLOR 1,0:PRINT :INPUT " Weiter -> RETURN",w WINDOW CLOSE 2 RETURN ihi: COLOR 1,0:PRINT PRINT " Nach Qualität (1), Quantität (2) oder Punkten (3) sortiert? (Nach Punkten" INPUT " werden sowohl Qualität als auch Quantität berücksichtigt) Eingabe: ",w$ IF w$="?" THEN COLOR 3,0:PRINT " Gib 1, 2 oder 3 ein oder nur ENTER für zurück!" ihi1=1:GOTO ihi END IF w=VAL(w$) IF w<>1 AND w<>2 AND w<>3 THEN Menue IF ihi1=0 THEN LOCATE 16,1 :ELSE PRINT COLOR 2,0 PRINT " Du kannst Dir in der Zeit ein Bier holen gehen! " COLOR 3,0 badnote=0 FOR cadur=1 TO CasMax il(cadur)=0:ino(cadur)=0 NEXT cadur FOR cadu=1 TO 35*CasMax GET #1,cadu hil=CVI(i$) IF cadu=17.5*CasMax THEN IF ihi1=0 THEN LOCATE 16,1 :ELSE PRINT PRINT " Siehst Du, die halbe Wartezeit ist schon vorbei! " END IF ihi1=0 IF hil>0 THEN il(hil)=il(hil)+CVI(l$) ino(hil)=ino(hil)+CVI(l$)*CVI(n$) IF CVI(n$)>badnote THEN badnote=CVI(n$) END IF NEXT cadu COLOR 2,0 WINDOW 2," Rang Interpret sec. Note Punkte",,2 PRINT : COLOR 3,0 PRINT " Jetzt sortiere ich noch!" ianza=0 FOR cadur=1 TO IntMax GET #2,cadur IF il(cadur)>0 THEN ianza=ianza+1 sidn(ianza)=ino(cadur)/il(cadur) sil(ianza)=il(cadur) sicadur(ianza)=cadur sip(ianza)=sil(ianza)*(badnote-sidn(ianza))/10 END IF IF ianza>1 AND w=1 THEN FOR sorti=ianza TO 1 STEP -1 srti=sorti-1 IF sidn(sorti)1 AND w=2 THEN FOR sorti=ianza TO 1 STEP -1 srti=sorti-1 IF sil(sorti)1 AND w=3 THEN FOR sorti=ianza TO 1 STEP -1 srti=sorti-1 IF sip(sorti)1 THEN ianza1=ianza:ianza2=1:ianza3=-1 ELSE ianza1=1:ianza2=ianza:ianza3=1 END IF FOR sorti=ianza1 TO ianza2 STEP ianza3 cadur=sicadur(sorti) IF w>1 THEN sortie=ianza+1-sorti :ELSE sortie=sorti GET #2,cadur PRINT USING " ###. \ \ ##### ##.# ######";sortie;inte$;sil(sorti);sidn(sorti);sip(sorti) IF sortie=20 OR sortie=40 OR sortie=60 OR sortie=80 OR sortie=100 THEN COLOR 3,0:PRINT :INPUT " Weiter -> RETURN",w$ CLS:COLOR 2,0 END IF NEXT sorti COLOR 1,0:PRINT :INPUT " Weiter -> RETURN",w$ WINDOW CLOSE 2 RETURN ende: SYSTEM